package com.haixiaoke.saas.lock.domain;

import com.haixiaoke.saas.common.annotation.Excel;
import com.haixiaoke.saas.common.core.domain.BaseEntity;
import lombok.Data;

import java.util.List;

/**
 * 设备锁对象 biz_device_lock
 *
 * @author panda
 * @date 2025-04-02
 */
@Data
public class DeviceLock extends BaseEntity {

    /**
     * 锁id
     */
    private Long lockId;

    /**
     * 锁名称
     */
    @Excel(name = "锁名称")
    private String lockName;

    /**
     * mac地址
     */
    @Excel(name = "mac地址")
    private String lockMac;

    /**
     * 品牌id
     */
    @Excel(name = "品牌id")
    private Long brandId;

    /**
     * 品牌名称
     */
    @Excel(name = "品牌名称")
    private String brandName;

    /**
     * 型号id
     */
    @Excel(name = "型号id")
    private Long modelId;

    /**
     * 产品型号
     */
    @Excel(name = "产品型号")
    private String modelName;

    /**
     * 电量
     */
    @Excel(name = "电量")
    private Integer battery;

    /**
     * 在线状态：1.在线；2.离线
     */
    @Excel(name = "在线状态：1.在线；2.离线")
    private String onlineStatus;

    /**
     * 自定义字段,授权数量
     */
    private Integer authNum;

    /**
     * 自定义字段,组名称
     */
    private String groupName;

    /**
     * 自定义字段,用户id
     */
    private Long userId;

    /**
     * 自定义字段,用户名称
     */
    private String userName;

    /**
     * 自定义字段,列表型号图片
     */
    private String modelImageList;

    /**
     * 自定义字段,详情型号图片
     */
    private String modelImageDetails;

    /**
     * 锁平台字段：开锁类型:1：永久密码 2：指纹 3：临时密码 4：远程开锁 5：蓝牙开锁 6：cookie开锁 7：门卡开锁
     * 8- 撤防/布防 10：机械钥匙开门 11：反锁 12 - 门内开锁 13:装修密码 14:装修密码开锁失败 15:离线开锁 16:人脸开锁 17:胁迫报警
     */
    private Integer unlockType;

    /**
     * 自定义字段:组id
     */
    private Long groupId;

    /**
     * 自定义字段:人脸授权id
     */
    private Long faceId;

    /**
     * 自定义字段:人脸授权集合对象
     */
    private List<LockFace> lockFaceList;
}
